DragStartHelper
DragStartHelper is a utility class for implementing drag and drop support.
It detects gestures commonly used to start drag (long click for any input source, click and drag for mouse).
It also keeps track of the screen location where the drag started, and helps determining the hot spot position for a drag shadow.
Implement DragStartHelper.OnDragStartListener to start the drag operation:
DragStartHelper.OnDragStartListener listener = new DragStartHelper.OnDragStartListener {
protected void onDragStart(View view, DragStartHelper helper) {
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view) {
public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) {
super.onProvideShadowMetrics(shadowSize, shadowTouchPoint);
helper.getTouchPosition(shadowTouchPoint);
}
};
view.startDrag(mClipData, shadowBuilder, mLocalState, mDragFlags);
}
};
mDragStartHelper = new DragStartHelper(mDraggableView, listener);
Content copied to clipboard
mDragStartHelper.attach();
Content copied to clipboard
public boolean onTouch(View view, MotionEvent event) {
if (mDragStartHelper.onTouch(view, event)) {
return true;
}
return handleTouchEvent(view, event);
}
public boolean onLongClick(View view) {
if (mDragStartHelper.onLongClick(view)) {
return true;
}
return handleLongClickEvent(view);
}
Content copied to clipboard
Types
Link copied to clipboard
interface OnDragStartListener
Interface definition for a callback to be invoked when a drag start gesture is detected.